﻿using System;
using System.Collections.Generic;
using System.Linq;
using Z16.BLI;
using System.Data;

namespace Z16.SITE
{
    public partial class addCadCentroDeCusto : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if ((Session["CodPerfil"] == null) || (Session["CodUsr"] == null))
                {
                    Response.Write("<script>window.location=\'Login.aspx';</script>");
                    return;
                }

                var codCC = Request.QueryString["id"];
                if (codCC != null)
                {
                    this.CarregarCentroDeCusto(int.Parse(codCC));
                }
            }
        }

        protected void btnGravar_Click(object sender, EventArgs e)
        {
            divSucess.Visible = false;
            divError.Visible = false;

            int? codCC = null;
            if(Request.QueryString["id"] != null)
                codCC = int.Parse(Request.QueryString["id"]);

            try
            {
                if (txtCentroDeCusto.Text != "")
                {
                    divSucess.Visible = true;
                    var ret = CentroDeCusto.SalvarCentroDeCusto(txtCentroDeCusto.Text, ddlResponsavel.SelectedValue, codCC);
                    var retorno = ret.Split(';');

                    this.ExibirMensagem(retorno[0], retorno[1]);
                }
                else
                {
                    divError.Visible = true;
                }
            }
            catch
            {
                divError.Visible = true;
            }
        }

        protected void carregarResponsaveis()
        {
            ddlResponsavel.Items.Clear();
            ddlResponsavel.AppendDataBoundItems = true;
            ddlResponsavel.Items.Insert(0, "Selecione");

            ddlResponsavel.DataSource = Usuario.listarUsuarioPorPerfil("RESPONSÁVEL CENTRO DE CUSTO");
            ddlResponsavel.DataValueField = "intCodUsuario";
            ddlResponsavel.DataTextField = "strNomeUsuario";
            ddlResponsavel.DataBind();
        }

        protected void CarregarCentroDeCusto(int codCC)
        {
            CentroDeCusto centroDeCusto = new CentroDeCusto();
            DataTable dt = centroDeCusto.ListarCentroDeCusto(codCC,null);

            List<DataRow> list = dt.AsEnumerable().ToList();

            var cc = list.First();

            txtCentroDeCusto.Text = cc[1].ToString();
            ddlResponsavel.SelectedValue = cc[2].ToString();
        }

        protected void ExibirMensagem(string erro, string mensagem)
        {
            if (erro.Equals("0"))
            {
                divSucess.Visible = true;
                lblMsg.Text = mensagem;
            }
            else
            {
                divError.Visible = true;
                lblErro.Text = mensagem;
            }
        }
    }
}